<?php
/**
 * Created by PhpStorm.
 * User: lzy
 * Date: 2018/11/1
 * Time: 15:37
 */

namespace App\Weixin\Contracts;

interface UserInterface{
    /**
     * 获取用户登陆信息
     * @param $where
     * @return mixed
     */
    public function getList($where);


    /**
     * 小程序登陆
     * @param $data 数据
     * @return mixed
     */
    public function wxXiaoUserLogin($data);

    /**
     * 修改用户信息
     * @param $where 条件
     * @param $data 数据
     * @return mixed
     */
    public function updateXiaoUserInfo($where,$data);

    /**
     * 获取用户信息
     * @param $uid
     * @return mixed
     */
    public function getUserInfoById($uid);

    /**
     * 更新用户余额
     * @param $uid  用户id
     * @param $mount 金额
     * @param $type 类型
     * @param int $linkId  来源 id
     * @param int $remark  备注
     * @return mixed 对象
     */
    public function updateUserBalance($uid,$mount,$type,$linkId=0,$remark='');

    /**
     * 变更用户金币
     * @param int $uid  用户id
     * @param int $mount  金币
     * @param int $type  类型
     * @param int $linkId  来源 id
     * @param string $remark  备注
     * @return mixed
     */

    public function updateUserScore($uid,$mount,$type,$linkId=0,$remark='');

    /**
     * 余额变动记录列表
     * @param $where 条件
     * @return mixed
     */

    public function getBalanceLogList($where);

    /**
     * 验证短信与手机号
     * @param $mobile 手机号
     * @param $code  验证码
     * @return bool
     */
    public function checkMobile($mobile,$code);


    /**
     * 查询用户列表
     * @param $where 条件
     * @return mixed
     */
    public function getUserList($where);


    /**
     * 获取用户信息，根据层级的用户信息
     * @param $where
     * @return mixed
     */
    public function getUserInfoByIdLib($where);

    /**
     * 用户间推与直推更新
     * @param $uid
     * @param $pUid
     * @return mixed
     */
    public function updatePushUserGrade($uid,$pUid);


    /**
     * 修改状态
     * @param $where
     * @param $data
     * @return mixed
     */

    public function changeStatus($where,$data);

    /**
     * 获取用户信息含评论
     * @param $where
     * @return mixed
     */
    public function getDetail($where);



    /**
     * 测试
     * @param $data
     * @return mixed
     */
    public function testWx($data);

    /**
     * 获取openid
     * @param $uid 用户id
     * @return string
     */
    public function getOpenIdByUid($uid);

    /**
     * 获取统计数据
     * @param $data
     * @return mixed
     */
    public function getInfoStatistics($data);


    /**
     * 获取用户信息
     * @param $uid
     * @param $select
     * @return mixed
     */
    public function getUserInfoByIdSelect($uid,$select);

}